home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
qbpacket.zip
/
BASES.BAS
< prev
next >
Wrap
BASIC Source File
|
1992-01-17
|
4KB
|
129 lines
DEFLNG A-Z
DECLARE FUNCTION DecToHex$ (DecimalNum)
DECLARE FUNCTION HexToDec (HexidecimalNum$)
DECLARE FUNCTION DecToOct$ (DecimalNum)
DECLARE FUNCTION OctToDec (OctalNum$)
DECLARE FUNCTION DecToBin$ (DecimalNum, DecNum$)
DECLARE FUNCTION BinToDec (BinaryNum$)
Showmenu:
CLS
REM *** PRINT THE MENU ***
COLOR 12
PRINT " *** The Base Converter *** "
PRINT " *** by Ian D. Moss *** "
PRINT " *** Started October 12 *** "
PRINT " *** Year of 1991 *** "
PRINT "****************************"
PRINT "*********** ";
COLOR 2
PRINT "MENU";
COLOR 12
PRINT " ***********"
COLOR 6
PRINT STRING$(28, 220)
PRINT "█1**Decimal to Hexidecimal*█"
PRINT "█2**Hexidecimal to Decimal*█"
PRINT "█3**Decimal to Octal*******█"
PRINT "█4**Octal to Decimal*******█"
PRINT "█5**Decimal to Binary******█"
PRINT "█6**Binary to Decimal******█"
PRINT "█7**Exit*******************█"
PRINT STRING$(28, 223)
COLOR 14
INPUT "Choose one. ", Cnvrt
COLOR 3
SELECT CASE Cnvrt
CASE IS = 1
INPUT "Enter decimal (Base 10) number. ", DecimalNum
Conversion$ = DecToHex$(DecimalNum)
PRINT DecimalNum; "in decimal is "; Conversion$; " in hexidecimal."
CASE IS = 2
INPUT "Enter hexidecimal (Base 16) number. ", HexidecimalNum$
Conversion = HexToDec(HexidecimalNum$)
PRINT " "; HexidecimalNum$; " in hexidecimal is"; Conversion; "in decimal."
CASE IS = 3
INPUT "Enter decimal (Base 10) number. ", DecimalNum
Conversion$ = DecToOct$(DecimalNum)
PRINT DecimalNum; "in decimal is "; Conversion$; " in octal."
CASE IS = 4
INPUT "Enter octal (Base 8) number. ", OctalNum$
Conversion = OctToDec(OctalNum$)
PRINT " "; OctalNum$; " in octal is"; Conversion; "in decimal."
CASE IS = 5
INPUT "Enter decimal (Base 10) number. ", DecimalNum
DecNum$ = STR$(DecimalNum)
Conversion$ = DecToBin$(DecimalNum, DecNum$)
PRINT DecimalNum; "in decimal is "; Conversion$; " in binary."
CASE IS = 6
INPUT "Enter binary (Base 2) number. ", BinaryNum$
Conversion = BinToDec(BinaryNum$)
PRINT " "; BinaryNum$; " in binary is"; Conversion; "in decimal."
CASE IS = 7
INPUT "Are you sure you want to exit"; ExDummy$
SELECT CASE ExDummy$
CASE "Y", "y"
END
CASE "N", "n"
GOTO Showmenu
CASE ELSE
PRINT "Press Y or N."
END SELECT
CASE ELSE
PRINT " * * * E R R O R * * * "
PRINT " Please type in one of"
PRINT "the numbers between 1 and"
PRINT "6. Thank you."
END SELECT
PRINT "Press any key to continue."
WHILE INKEY$ = "": WEND
CLS
GOTO Showmenu
FUNCTION BinToDec (BinaryNum$)
BinToDec = 0
FOR I = 0 TO LEN(BinaryNum$) - 1
IF MID$(BinaryNum$, LEN(BinaryNum$) - I, 1) = "1" THEN
D = D + 2 ^ I
END IF
NEXT I
BinToDec = D
END FUNCTION
FUNCTION DecToBin$ (DecimalNum, DecNum$)
DecBin = VAL(DecNum$)
BinNum$ = ""
Q = DecBin
AnotherVar$ = ""
WHILE Q <> 0
AnotherVar$ = "0"
R = Q MOD 2: Q = Q \ 2
IF R = 1 THEN
AnotherVar$ = "1"
END IF
BinNum$ = AnotherVar$ + BinNum$
WEND
DecToBin$ = BinNum$
END FUNCTION
FUNCTION DecToHex$ (DecimalNum)
DecToHex$ = HEX$(DecimalNum)
END FUNCTION
FUNCTION DecToOct$ (DecimalNum)
DecToOct$ = OCT$(DecimalNum)
END FUNCTION
FUNCTION HexToDec (HexidecimalNum$)
HexidecimalNum$ = "&H" + HexidecimalNum$
HexToDec = VAL(HexidecimalNum$)
END FUNCTION
FUNCTION OctToDec (OctalNum$)
OctalNum$ = "&O" + OctalNum$
OctToDec = VAL(OctalNum$)
END FUNCTION